package Items;
import java.util.ArrayList;

import Effects.Effect;
/**
 * Basic item entity
 * @author Phil
 * 04/02/2012
 */
public abstract class Item 
{
	protected int itemID;
	protected String name;
	protected int cost;
	protected Effect[] effects;
	
	/**
	 * Constructor for Item
	 * @param incID ID for Item
	 * @param incName Name for Item
	 * @param incCost Associated Cost of Item
	 * @author Phil
	 * @TODO Ask about additional constructor for blank item
	 * 09/02/2012 
	 */
	public Item(int incID, String incName, int incCost, int numEffects)
	{
		this.itemID = incID;
		this.name = incName;
		this.cost = incCost;
		this.effects = new Effect[numEffects];
	}

	/**
	 * Returns Item's Cost
	 * @return Int - Item's Cost
	 * @author Phil
	 * 09/02/2012 
	 */
	public int getCost()
	{
		return this.cost;
	}

	/**
	 * Returns ArrayList of Item's Effects.
	 * @return ArrayList of Effects.
	 * @author Phil
	 * 09/02/2012
	 */
	public Effect[] getEffects()
	{
		return this.effects;
	}
	
	/**
	 * Returns Item's ID
	 * @return Item's ID
	 * @author Phil
	 * 09/02/2012
	 */
	public int getItemID()
	{
		return this.itemID;
	}
	
	/**
	 * Returns Item's Name
	 * @return Item's Name
	 */
	public String getItemName()
	{
		return this.name;
	}
	
}
